// 'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.

const path = require("path");

module.exports = {
	dev: {
		// Paths
		assetsSubDirectory: "static",
		assetsPublicPath: "/",
		proxyTable: {
			// "/mall-core": {
			// 	target: "http://localhost:8000/mall-core/",
			// 	changeOrigin: true,//允许跨域
			// 	pathRewrite: {
			// 		"^/mall-core": ""
			// 	}
			// }
		},

		// Various Dev Server settings
		host: "localhost", // can be overwritten by process.env.HOST
		port: 8081, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
		autoOpenBrowser: true,
		errorOverlay: true,
		notifyOnErrors: true,
		poll: 2000, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-

		/**
		 * Source Maps
		 */
		// https://webpack.js.org/configuration/devtool/#development
		devtool: "#cheap-eval-module-source-map",

		// If you have problems debugging vue-files in devtools,
		// set this to false - it *may* help
		// https://vue-loader.vuejs.org/en/options.html#cachebusting
		cacheBusting: true,
		cssSourceMap: true
	},
	build: {
		// Template for index.html
		index: path.resolve(__dirname, "../dist/index.html"),
		// Paths
		assetsRoot: path.resolve(__dirname, "../dist"),
		assetsSubDirectory: "static",
		assetsPublicPath: "./",

		/**
		 * Source Maps
		 */
		productionSourceMap: true,
		// https://webpack.js.org/configuration/devtool/#production
		devtool: "none",

		// Gzip off by default as many popular static hosts such as Surge or Netlify already gzip all static assets for you.
		// Before setting to `true`, make sure to: npm install --save-dev compression-webpack-plugin
		productionGzip: true,
		productionGzipExtensions: ["js", "css", "png"],

		// Run the build command with an extra argument to View the bundle analyzer report after build finishes:
		// `npm run build --report` Set to `true` or `false` to always turn it on or off
		bundleAnalyzerReport: process.env.NPM_CONFIG_REPORT
	}
};
// 开发环境的选择
// 开发环境的要求是：1.速度快， 2. 调试更友好
// 从速度上看， eval > inline > cheap > ...
// 所以选择是： eval-source-map、 eval-cheap-source-map。
// 从调试方便来选择，source-map、cheap-module-source-map、cheap-source-map。
// 其中 cheap-module-source-map 和 cheap-source-map 的区别在于，cheap-module-source-map可以把loader的sourcemap也加进来，调试内容比较完整。
// 折中方案是： eval-source-map 。（react和vue脚手架就是用这个）
//
// 生产环境的选择
// 生产环境的要求是：
// 不能让代码体积太大，所以不用内联模式。
// 1.源代码到底要不要隐藏 ？
// 如果需要则选择：nosources-source-map （全部隐藏）、hidden-source-map（只隐藏源代码，会提示构建后代码）。
// 2.要不要对调试友好。
// 如果有需要，则选择 source-map
